home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / var / db / pkg / sys-libs / db-3.2.9-r10 / db-3.2.9-r10.ebuild < prev    next >
Text File  |  2005-10-19  |  4KB  |  161 lines

  1. # Copyright 1999-2005 Gentoo Foundation
  2. # Distributed under the terms of the GNU General Public License v2
  3. # $Header: /var/cvsroot/gentoo-x86/sys-libs/db/db-3.2.9-r10.ebuild,v 1.22 2005/08/03 15:14:03 gustavoz Exp $
  4.  
  5. inherit gnuconfig libtool eutils db
  6.  
  7. DESCRIPTION="Berkeley DB for transaction support in MySQL"
  8. HOMEPAGE="http://www.sleepycat.com/"
  9. SRC_URI="ftp://ftp.sleepycat.com/releases/${P}.tar.gz"
  10.  
  11. LICENSE="DB"
  12. SLOT="3"
  13. # This ebuild is to be the compatibility ebuild for when db4 is put
  14. # in the tree.
  15. KEYWORDS="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sparc x86"
  16. IUSE="doc java"
  17.  
  18. RDEPEND="virtual/libc"
  19. DEPEND="${RDEPEND}
  20.     =sys-libs/db-1.85*
  21.     sys-devel/libtool
  22.     sys-devel/m4
  23.     java? ( virtual/jdk )"
  24. # We need m4 too else build fails without config.guess
  25.  
  26. # This doesn't build without exceptions
  27. export CXXFLAGS="${CXXFLAGS/-fno-exceptions/-fexceptions}"
  28.  
  29. src_unpack() {
  30.     unpack ${A}
  31.  
  32.     chmod -R ug+w *
  33.  
  34.     cd ${WORKDIR}/${P}
  35.     epatch ${FILESDIR}/patch.3.2.9.1
  36.     epatch ${FILESDIR}/patch.3.2.9.2
  37.  
  38.     # Get db to link libdb* to correct dependencies ... for example if we use
  39.     # NPTL or NGPT, db detects usable mutexes, and should link against
  40.     # libpthread, but does not do so ...
  41.     # <azarah@gentoo.org> (23 Feb 2003)
  42.     epatch ${FILESDIR}/${P}-fix-dep-link.patch
  43.  
  44.     # We should get dump185 to link against system db1 ..
  45.     # <azarah@gentoo.org> (23 Feb 2003)
  46.     mv ${S}/dist/Makefile.in ${S}/dist/Makefile.in.orig
  47.     sed -e 's:DB185INC=:DB185INC= -I/usr/include/db1:' \
  48.         -e 's:DB185LIB=:DB185LIB= -ldb1:' \
  49.         ${S}/dist/Makefile.in.orig > ${S}/dist/Makefile.in || die "Failed to sed"
  50.  
  51.     # Fix invalid .la files
  52.     cd ${WORKDIR}/${P}/dist
  53.     rm -f ltversion.sh
  54.     # remove config.guess else we have problems with gcc-3.2
  55.     rm -f config.guess
  56.     sed -i "s,\(-D_GNU_SOURCE\),\1 ${CFLAGS}," configure
  57.  
  58.     cd ${S}
  59.     epatch ${FILESDIR}/${P}-jarlocation.patch
  60.     epatch ${FILESDIR}/db-3.2.9-java15.patch
  61.     gnuconfig_update
  62. }
  63.  
  64. src_compile() {
  65.     local conf=
  66.     local conf_shared=
  67.     local conf_static=
  68.  
  69.     conf="${conf}
  70.         --host=${CHOST} \
  71.         --build=${CHOST} \
  72.         --enable-cxx \
  73.         --enable-compat185 \
  74.         --enable-dump185 \
  75.         --prefix=/usr"
  76.  
  77.     # --enable-rpc DOES NOT BUILD
  78.     # Robin H. Johnson <robbat2@gentoo.org> (18 Oct 2003)
  79.  
  80.     conf_shared="${conf_shared}
  81.         `use_enable java`
  82.         --enable-dynamic"
  83.  
  84.     # TCL support is also broken
  85.     # Robin H. Johnson <robbat2@gentoo.org> (18 Oct 2003)
  86.     # conf_shared="${conf_shared}
  87.     #    `use_enable tcltk tcl`
  88.     #    `use_with tcltk tcl /usr/lib`"
  89.  
  90.     # NOTE: we should not build both shared and static versions
  91.     #       of the libraries in the same build root!
  92.  
  93.     einfo "Configuring ${P} (static)..."
  94.     mkdir -p ${S}/build-static
  95.     cd ${S}/build-static
  96.     ../dist/configure ${conf} ${conf_static} \
  97.         --libdir=/usr/$(get_libdir) \
  98.         --enable-static || die
  99.  
  100.     einfo "Configuring ${P} (shared)..."
  101.     mkdir -p ${S}/build-shared
  102.     cd ${S}/build-shared
  103.     ../dist/configure ${conf} ${conf_shared} \
  104.         --libdir=/usr/$(get_libdir) \
  105.         --enable-shared || die
  106.  
  107.     # Parallel make does not work
  108.     MAKEOPTS="${MAKEOPTS} -j1"
  109.     einfo "Building ${P} (static)..."
  110.     cd ${S}/build-static
  111.     emake || die "Static build failed"
  112.     einfo "Building ${P} (shared)..."
  113.     cd ${S}/build-shared
  114.     emake || die "Shared build failed"
  115. }
  116.  
  117. src_install () {
  118.     cd ${S}/build-shared
  119.     make libdb=libdb-3.2.a \
  120.         libcxx=libcxx_3.2.a \
  121.         prefix=${D}/usr \
  122.         libdir=${D}/usr/$(get_libdir) \
  123.         install || die
  124.  
  125.     cd ${S}/build-static
  126.     newlib.a libdb.a libdb-3.2.a || die "failed to package static libraries!"
  127.     newlib.a libdb_cxx.a libdb_cxx-3.2.a || die "failed to package static libraries!"
  128.  
  129.     db_src_install_headerslot || die "db_src_install_headerslot failed!"
  130.  
  131.     # this is now done in the db eclass, function db_fix_so and db_src_install_usrlibcleanup
  132.     #cd ${D}/usr/lib
  133.     #ln -s libdb-3.2.so libdb.so.3
  134.  
  135.     # For some reason, db.so's are *not* readable by group or others,
  136.     # resulting in no one but root being able to use them!!!
  137.     # This fixes it -- DR 15 Jun 2001
  138.     cd ${D}/usr/$(get_libdir)
  139.     chmod go+rx *.so
  140.     # The .la's aren't readable either
  141.     chmod go+r *.la
  142.  
  143.     cd ${S}
  144.     dodoc README LICENSE
  145.  
  146.     db_src_install_doc || die "db_src_install_doc failed!"
  147.  
  148.     db_src_install_usrbinslot || die "db_src_install_usrbinslot failed!"
  149.  
  150.     db_src_install_usrlibcleanup || die "db_src_install_usrlibcleanup failed!"
  151. }
  152.  
  153. pkg_postinst () {
  154.     db_fix_so
  155. }
  156.  
  157. pkg_postrm () {
  158.     db_fix_so
  159. }
  160.  
  161.